﻿using System.Collections;
using System.Collections.Generic;
using UnityEngine;

namespace UBlockly.Graphic
{
    public enum SizeDefine
    {
        //块描述字体大小
        BlockDescFont,

        //参数字体大小
        ParamFontSize,

        //文字高度
        DescHeight,

        //块描述文字最小宽度
        BlockDescMinWidth,

        //块描述最大长度
        BlockDescMaxWidth,

        //参数描述最大长度
        PackerDescMaxWidth,

        //参数描述最小宽度
        PackerDescMinWidth,

        //槽碰撞区域宽度
        SlotRect_X,

        //槽碰撞区域高度
        SlotRect_Y,

        //左边界距离 
        LeftBorderSpan,

        //右边界距离
        RightBorderSpan,

        //块描述与参数间距
        BlockDescPackerSpace,

        //参数左边距
        PackerLeftBorderSpace ,

        //参数描述与组件间距
        PackerDescComponentSpace ,

        //参数内组件的边界
        PackerComponentBorder ,

        //参数内组件最小高度
        PackerComponentMinHeight ,

        //参数内组件最小长度
        PackerCompnentMinWidth,

        //参数内组件
        PackerBlockBorder,

        //块最小长度
        BlockMinLength,

        //空类型的块长度
        VoidRBlockOffset,
    }

    public enum ColorDefine
    {
         VoidRTypeNode,
         VoidR1TypeNode,

         BoolRTypeNode,
         BoolR1TypeNode,
         BoolR2TypeNode,
         BoolR3TypeNode,
         BoolR4TypeNode,
         BoolR5TypeNode,
         BoolR6TypeNode,
         BoolR7TypeNode,
         BoolR8TypeNode,
         BoolR9TypeNode,
         
         IntRTypeNode,
         IntR1TypeNode,
         IntR2TypeNode,
         IntR3TypeNode,
         IntR4TypeNode,
         IntR5TypeNode,
         IntR6TypeNode,
         IntR7TypeNode,
         IntR8TypeNode,
         IntR9TypeNode,
         
         StringRTypeNode,
         StringR1TypeNode,
         StringR2TypeNode,
         StringR3TypeNode,
         StringR4TypeNode,
         StringR5TypeNode,
         StringR6TypeNode,
         StringR7TypeNode,
         StringR8TypeNode,
         StringR9TypeNode,
 
         FloatRTypeNode,
         FloatR1TypeNode,
         FloatR2TypeNode,
         FloatR3TypeNode,
         FloatR4TypeNode,
         FloatR5TypeNode,
         FloatR6TypeNode,
         FloatR7TypeNode,
         FloatR8TypeNode,
         FloatR9TypeNode,
         
         EnumRTypeNode,
         EnumR1TypeNode,
         EnumR2TypeNode,
         EnumR3TypeNode,
         EnumR4TypeNode,
         EnumR5TypeNode,
         EnumR6TypeNode,
         EnumR7TypeNode,
         EnumR8TypeNode,
         EnumR9TypeNode,
         
         NodeDesc,
         NodeParamDesc,
    }

    public enum SpriteDefine
    {
        VoidRTypeNode,
        VoidR1TypeNode,
        VoidR2TypeNode,
        VoidR3TypeNode,
        VoidR4TypeNode,
        VoidR5TypeNode,
        VoidR6TypeNode,
        VoidR7TypeNode,
        VoidR8TypeNode,
        VoidR9TypeNode,
        BoolRTypeNode,
        BoolR1TypeNode,
        BoolR2TypeNode,
        BoolR3TypeNode,
        BoolR4TypeNode,
        BoolR5TypeNode,
        BoolR6TypeNode,
        BoolR7TypeNode,
        BoolR8TypeNode,
        BoolR9TypeNode,
        IntRTypeNode,
        IntR1TypeNode,
        IntR2TypeNode,
        IntR3TypeNode,
        IntR4TypeNode,
        IntR5TypeNode,
        IntR6TypeNode,
        IntR7TypeNode,
        IntR8TypeNode,
        IntR9TypeNode,
        StringRTypeNode,
        StringR1TypeNode,
        StringR2TypeNode,
        StringR3TypeNode,
        StringR4TypeNode,
        StringR5TypeNode,
        StringR6TypeNode,
        StringR7TypeNode,
        StringR8TypeNode,
        StringR9TypeNode,
        FloatRTypeNode,
        FloatR1TypeNode,
        FloatR2TypeNode,
        FloatR3TypeNode,
        FloatR4TypeNode,
        FloatR5TypeNode,
        FloatR6TypeNode,
        FloatR7TypeNode,
        FloatR8TypeNode,
        EnumRTypeNode,
        EnumR1TypeNode,
        EnumR2TypeNode,
        EnumR3TypeNode,
        EnumR4TypeNode,
        EnumR5TypeNode,
        EnumR6TypeNode,
        EnumR7TypeNode,
        EnumR8TypeNode,
        EnumR9TypeNode,
    }

    public enum GetterDefine
    {
        BoolRTypeNode,
        BoolR1TypeNode,
        BoolR2TypeNode,
        BoolR3TypeNode,
        BoolR4TypeNode,
        BoolR5TypeNode,
        BoolR6TypeNode,
        BoolR7TypeNode,
        BoolR8TypeNode,
        BoolR9TypeNode,
        IntRTypeNode,
        IntR1TypeNode,
        IntR2TypeNode,
        IntR3TypeNode,
        IntR4TypeNode,
        IntR5TypeNode,
        IntR6TypeNode,
        IntR7TypeNode,
        IntR8TypeNode,
        IntR9TypeNode,
        StringRTypeNode,
        StringR1TypeNode,
        StringR2TypeNode,
        StringR3TypeNode,
        StringR4TypeNode,
        StringR5TypeNode,
        StringR6TypeNode,
        StringR7TypeNode,
        StringR8TypeNode,
        StringR9TypeNode,
        FloatRTypeNode,
        FloatR1TypeNode,
        FloatR2TypeNode,
        FloatR3TypeNode,
        FloatR4TypeNode,
        FloatR5TypeNode,
        FloatR6TypeNode,
        FloatR7TypeNode,
        FloatR8TypeNode,
        FloatR9TypeNode,
        EnumRTypeNode,
        EnumR1TypeNode,
        EnumR2TypeNode,
        EnumR3TypeNode,
        EnumR4TypeNode,
        EnumR5TypeNode,
        EnumR6TypeNode,
        EnumR7TypeNode,
        EnumR8TypeNode,
        EnumR9TypeNode,
    }

    public enum SetterDefine
    {
        VoidRTypePanel ,
        VoidR1TypePanel ,
        VoidR2TypePanel ,
        BoolRTypePanel ,
        BoolR1TypePanel ,
        BoolR2TypePanel ,
        BoolR3TypePanel ,
        BoolR4TypePanel ,
        BoolR5TypePanel ,
        BoolR6TypePanel ,
        BoolR7TypePanel ,
        BoolR8TypePanel ,
        BoolR9TypePanel ,
        IntRTypePanel ,
        IntR1TypePanel ,
        IntR2TypePanel ,
        IntR3TypePanel ,
        IntR4TypePanel ,
        IntR5TypePanel ,
        IntR6TypePanel ,
        IntR7TypePanel ,
        IntR8TypePanel ,
        IntR9TypePanel ,
        StringRTypePanel ,
        StringR1TypePanel ,
        StringR2TypePanel ,
        StringR3TypePanel ,
        StringR4TypePanel ,
        StringR5TypePanel ,
        StringR6TypePanel ,
        StringR7TypePanel ,
        StringR8TypePanel ,
        StringR9TypePanel ,
        FloatRTypePanel ,
        FloatR1TypePanel ,
        FloatR2TypePanel ,
        FloatR3TypePanel ,
        FloatR4TypePanel ,
        FloatR5TypePanel ,
        FloatR6TypePanel ,
        FloatR7TypePanel ,
        FloatR8TypePanel ,
        FloatR9TypePanel ,
        EnumRTypePanel ,
        EnumR1TypePanel ,
        EnumR2TypePanel ,
        EnumR3TypePanel ,
        EnumR4TypePanel ,
        EnumR5TypePanel ,
        EnumR6TypePanel ,
        EnumR7TypePanel ,
        EnumR8TypePanel ,
        EnumR9TypePanel ,
    }

    public enum SoundDefine
    {
        SlotAudio,
        DeslotAudio,
        PackAudio,
        DepackAudio,
    }
}
